package entradaSaida;

import java.io.FileOutputStream;
import java.io.PrintStream;

public class EscritorTxt extends EscritorArquivo{
	
	private FileOutputStream fout;
	private PrintStream printer;
	
	public EscritorTxt() throws Exception{
		this.extensaoArquivo = ".txt";
		setCaminhoArquivo(escolherCaminhoArquivo(false));
		if(caminhoArquivo!=null){
			fout = new FileOutputStream(caminhoArquivo);
			printer = new PrintStream(fout);
		}
	}
	
	public EscritorTxt(String caminhoArquivo) throws Exception{
		this.extensaoArquivo = ".txt";
		setCaminhoArquivo(caminhoArquivo);
		if(caminhoArquivo!=null && !caminhoArquivo.equals("")){
			fout = new FileOutputStream(caminhoArquivo);
			printer = new PrintStream(fout);
		}
	}
	
	@Override
	public void escreverCabecalho(double p, double taxa, int qtdSimul, int retaliacao, String[] dados) throws Exception {
		escreverNoArquivo("Taxa = "+taxa+"\tp = "+p);
		if(dados!=null && dados.length>0){
			String complemento = "";
			for (String s : dados) {
				complemento+=s+"\t";
			}
			escreverNoArquivo(complemento);
		}
	}
	
	@Override
	public void escreverNoArquivo(String s) throws Exception{
		printer.println(s);
	}
	
	@Override
	public void fecharArquivo() throws Exception{
		printer.close();
		fout.close();
	}
}
